//连接集合及其筛选
const mongoose=require('mongoose')

const cate=new mongoose.Schema({
    name: { type: String },
    // 增加一个数据库id类型的父级数据依赖 ref:参数的关联的集合名称
    //注意id类型的写法
    parent: { type: mongoose.Schema.Types.ObjectId, ref: 'categories' }
})
//关联自己的子分类
cate.virtual('children',{
    ref:'categories',
    localField:'_id',
    foreignField:'parent',
    justOne:false
})
//子分类再和他关联的新闻分类
cate.virtual('newlist',{
    ref:'articles',
    localField:'_id',
    foreignField:'parent',
    justOne:false
    
})

//模型配置函数 参数1.配置的集合  2.筛选内容
const model=mongoose.model('categories',cate)

//引出
module.exports=model
//哪里需要用这个模型就哪里引用，而不是直接全局配置—譬如router/admin/index.js